package com.owen.dao;

import com.owen.pojo.User;
import org.apache.ibatis.annotations.Select;

import java.util.List;
import java.util.Map;

public interface UserMapper {

    /**
     * 查询全部用户信息
     * @return 全部用户信息
     */
    public List<User> getUserList();

    /**
     * 根据id查询用户信息
     * @param id 该用户的id
     * @return 该用户的信息
     */
    public User gerUserById(Long id);

    /**
     * 通过map条件查询用户信息
     * @param map 查询条件
     * @return 查询出的结果
     */
    public User getUserByIdMap(Map<String,Object> map);

    /**
     * 基于注解实现查询所有用户信息
     * @return 所有用户信息
     */
    @Select("SELECT `id`,`name`,`pwd` FROM `user` ")
    public List<User> getUsersByAnnotation();

    /**
     * 通过用户名模糊查询用户信息
     * @param name 用户名
     * @return 查询结果
     */
    public List<User> getUserLiseName(String name);

    /**
     * 添加一个用户信息
     * @param user 用户信息
     * @return 受影响的行数
     */
    public Integer insertUser(User user);

    /**
     * 修改用户信息
     * @param user 用户信息
     * @return 受影响的行数
     */
    public Integer updateUser(User user);

    /**
     * 删除用户信息
     * @param id 要删除用户的id
     * @return 受影响的行数
     */
    public Integer deleteUser(Long id);

}